package com.xyht.medicine_management_system.modules.order.service;

import com.xyht.medicine_management_system.common.commonReturn.ResponseResult;
import com.xyht.medicine_management_system.modules.order.entity.MmsOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xyht.medicine_management_system.modules.order.entity.req.CheckoutReq;
import com.xyht.medicine_management_system.modules.order.entity.req.MmsOrderReq;
import com.xyht.medicine_management_system.modules.order.entity.req.SubmitOrderReq;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author XYHT
 * @since 2023-12-14
 */
public interface MmsOrderService extends IService<MmsOrder> {

    ResponseResult calculateMoney(CheckoutReq checkoutReq, String userId);

    ResponseResult checkout(CheckoutReq checkoutReq, String userId);

    ResponseResult submitOrder(SubmitOrderReq orderReq, String userId);

    ResponseResult cancelOrder(MmsOrderReq orderReq, String userId);

    ResponseResult userOrder(Integer pageNum, Integer pageSize, String searchStr, Integer orderStatus, String userId);

    ResponseResult orderDetail(String orderId, String userId);

    ResponseResult confirmDeliver(String[] orderId, String userId);

    ResponseResult takeDelivery(String orderId, String userId);

    ResponseResult getAllOrder(Integer pageNum, Integer pageSize, String searchStr, Integer orderStatus, Integer isClose);

    ResponseResult payment(MmsOrderReq orderReq, String userId);
}
